<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <script src="./javascript.js"></script>
  <title>Document</title>
</head>
<body>
  <h3>为什么不用typeof判断类型,只用它来区分函数和其他对象的原因</h3>
  <ul>
    <li>1.判断typeof null返回object</li>
    <li>2.判断typeof 正则新旧浏览器返回不一，新的返回object,老的返回function。完全看不出类型</li>
    <li>3.使用typeof 去判断一个声明未定义（赋值）和一个从未声明过的变量，都会返回undefined</li>
  </ul>
  <h3>Number</h3>
  <ul>
    <li>
      1.Number.MAX_VALUE与Number.MIN_VALUE中储存了Number中最大与最小的数值，
      超过这个范围就会被转化为对应的Infinity
    </li>
    <li>2.Infinity不能参与计算</li>
    <li>3.判断一个值是否有穷，使用isFinite()函数</li>
  </ul>
  <h3>特殊数字 NaN</h3>
  <ul>
    <li>1.任何涉及NaN的操作都会返回NaN</li>
    <li>2.NaN与任何值都不相等，包括NaN</li>
    <li>
        <h3>判断是否为非数值isNaN</h3>
    </li>
    <ul>
      <li>1.isNaN()方法接受任何类型的值。</li>
      <li>2.会尝试将接受到的值转化为数值。任何不能被转化为数字的数值都会返回true</li>
      <li>3.对于对象也可以调用isNaN,转化方式是先判断valueOf(),再调用toString</li>
    </ul>
  </ul>
</body>
</html>